//package com.mediacloud.app.newsmodule.fragment
//
//import android.annotation.SuppressLint
//import android.os.Build
//import android.util.Log
//import androidx.annotation.RequiresApi
//import androidx.recyclerview.widget.LinearLayoutManager
//import androidx.recyclerview.widget.RecyclerView
//import com.blankj.utilcode.util.NetworkUtils
//import com.mediacloud.app.assembly.util.isFastClick
//import com.mediacloud.app.model.news.ArticleListData
//import com.mediacloud.app.model.view.floatwin.FloatButtonGroup
//import com.mediacloud.app.newsmodule.activity.microlive.BaseRecyclerAdapter
//import com.mediacloud.app.newsmodule.fragment.nav2.BaseRecyclerListFragment
//import com.mediacloud.app.newsmodule.utils.BindEventBus
//import com.mediacloud.app.newsmodule.utils.NewsItemClickUtils
//import com.mediacloud.app.reslib.util.DataInvokeUtil
//import com.scwang.smartrefresh.layout.api.RefreshLayout
//import io.reactivex.Observer
//import io.reactivex.android.schedulers.AndroidSchedulers
//import io.reactivex.disposables.Disposable
//import io.reactivex.schedulers.Schedulers
//
///**
//大图列表样式
// */
//class BigImageStyleListFragment : BaseRecyclerListFragment<BigImageListAdapter>(),
//    BaseRecyclerAdapter.ItemClickListener {
//    private var pageSize = 20
//    var preLoadKit: ListPreLoadKit<ArticleListData>? = null
//
//
//    override fun getRecyclerAdapter(): BigImageListAdapter? {
//        val adapterdapter = BigImageListAdapter(activity)
//        adapterdapter.setItemClickListener(this)
//        return adapterdapter
//    }
//
//    override fun getLayoutManager(): RecyclerView.LayoutManager? {
//        return LinearLayoutManager(activity, LinearLayoutManager.VERTICAL, false)
//    }
//
//    override fun initView() {
//        super.initView()
//        BindEventBus(this, recyclerAdapter)
//        preLoadKit = object : ListPreLoadKit<ArticleListData>(requireContext(), refreshLayout) {
//            override fun onSetData(data: ArticleListData) {
//                setData(data)
//            }
//
//            override fun onPreload(preNum: Int) {
//                preload(preNum)
//            }
//        }
//        val manager = recyclerView.layoutManager as LinearLayoutManager
//        refreshLayout.setEnableLoadMore(false)
//        recyclerView.addOnScrollListener(object : RecyclerView.OnScrollListener() {
//            override fun onScrolled(recyclerView: RecyclerView, dx: Int, dy: Int) {
//                super.onScrolled(recyclerView, dx, dy)
//                val lastVisibleItem = manager.findLastVisibleItemPosition()
//                if (lastVisibleItem == manager.itemCount - 1) {
//                    preLoadKit?.onLoadMore()
//                }
//            }
//        })
//        showStateView(TYPE_LOADING, false)
//        recyclerView.setHasFixedSize(true)
//        recyclerView.itemAnimator = null
//        retryTips?.setOnClickListener {
//            if (NetworkUtils.isConnected()) {
//                showStateView(TYPE_LOADING, false)
//                onRefresh(refreshLayout)
//            }
//        }
//        getDate()
//    }
//
//
//    override fun onItemClick(index: Int, isFromAdaptor: Boolean, adapter: BaseRecyclerAdapter<*>?) {
//        if (isFastClick()) {
//            val item = recyclerAdapter.getItem(index)
//            NewsItemClickUtils.OpenItemNewsHandle(requireContext(),item.type,item,catalogItem)
//        }
//    }
//
//    override fun onLoadMore(refreshLayout: RefreshLayout) {
//        Log.w(ListPreLoadKit.LTAG, "触发了 RefreshLayout onLoadMore")
//        preLoadKit?.getMoreDate()
//    }
//
//    override fun onRefresh(refreshLayout: RefreshLayout) {
//        preLoadKit?.onRefresh()
//        getDate()
//    }
//
//    @SuppressLint("CheckResult")
//    private fun preload(preNum: Int) {
//        DataInvokeUtil.getContentList(catalogID, preNum, pageSize, null).map {
//            val temp = ArticleListData()
//            temp.readFromJson(it.body())
//            temp
//        }.subscribeOn(Schedulers.io()).onErrorReturn { null }
//            .observeOn(AndroidSchedulers.mainThread())
//            .subscribe(object : Observer<ArticleListData> {
//                override fun onSubscribe(d: Disposable) {
//                }
//
//                override fun onNext(t: ArticleListData) {
//                    preLoadKit?.hasMore = t.more
//                    preLoadKit?.onPreloadSuccess(t, preNum)
//                }
//
//                override fun onError(e: Throwable) {
//                    preLoadKit?.onPreloadFail(preNum)
//                }
//
//                override fun onComplete() {
//
//                }
//            })
//    }
//
//    private fun getDate() {
//        DataInvokeUtil.getContentList(catalogID, preLoadKit!!.pageNum, pageSize, null).map {
//            val temp = ArticleListData()
//            temp.readFromJson(it.body())
//            preLoadKit?.hasMore = temp.more
//            temp
//        }.onErrorReturn { null }
//            .subscribeOn(Schedulers.io())
//            .observeOn(AndroidSchedulers.mainThread())
//            .subscribe(object : Observer<ArticleListData> {
//                override fun onSubscribe(d: Disposable) {}
//
//                @RequiresApi(Build.VERSION_CODES.LOLLIPOP)
//                override fun onNext(t: ArticleListData) {
//                    if (activity == null || requireActivity().isFinishing || requireActivity().isDestroyed) {
//                        return
//                    }
//                    refreshLayout.finishRefresh()
//                    refreshLayout.finishLoadMore()
//                    preLoadKit?.preLoadData?.add(t)
//                    setData(t)
//                    preLoadKit?.preload()
//                }
//
//                override fun onError(e: Throwable) {
//                    if (activity == null || requireActivity().isFinishing || requireActivity().isDestroyed) {
//                        return
//                    }
//                    refreshLayout.finishRefresh(false)
//                    refreshLayout.finishLoadMore()
//                    if (recyclerAdapter?.data?.size == 0) {
//                        showStateView(TYPE_NET_NOT_GIVE_FORCE, false)
//                    } else {
//                        closeStateView()
//                    }
//                }
//
//                override fun onComplete() {
//
//                }
//            })
//
//    }
//
//
//    private fun setData(t: ArticleListData) {
//        if (activity == null || requireActivity().isFinishing || requireActivity().isDestroyed)
//            return
//        ListPreLoadTool.preLoad2(requireContext(), t.articleList)
//        if (preLoadKit!!.pageNum == 1) {
//            val floatData = t.orginData.optJSONObject("data")
//            if (FloatButtonGroup.haveFloatField(floatData)) {
//                initFloatWin(floatData)
//            } else {
//                hideFloatWin()
//            }
//            recyclerAdapter.data.clear()
//        }
//        val size: Int = recyclerAdapter.itemCount
//        recyclerAdapter.data.addAll(t.articleList)
//        if (preLoadKit!!.pageNum == 1) {
//            recyclerView.notifyDataSetChanged()
//        } else {
//            recyclerView.notifyItemRangeInserted(size, t.articleList.size)
//        }
//        if (recyclerAdapter?.data?.size == 0) {
//            showStateView(TYPE_NO_CONTENT, false)
//        } else {
//            closeStateView()
//        }
//    }
//
//
//    override fun onResume() {
//        super.onResume()
//        if (recyclerAdapter.data.size != 0) {
//            recyclerView.notifyDataSetChanged()
//        }
//        ReportManager.getInstance().show_block("大图列表样式", catalogID)
//    }
//
//}